/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package beans;

import java.util.Date;

/**
 *
 * @author Usuario
 */
public class TerapiaDiscapacidad {

    private Integer id;
    
    private Integer idTerapia;
    private String terapia;
    
    private DiscapacidadTratamiento discapacidadTratamiento;
    
    private Integer intensidad;
    private Integer intensidadMedidaTiempo;
    private String medidaTiempo;
    
    private Integer cantidad;
    private String observacion;
    private Date fechaInicio;
    private Date fechaFin;
    private Estado estado = Estado.ACTIVO;
    
    private Date created;
    
    private EvolucionTerapia evolucion;

    public EvolucionTerapia getEvolucion() {
        return evolucion;
    }

    public void setEvolucion(EvolucionTerapia evolucion) {
        this.evolucion = evolucion;
    }

    public Date getCreated() {
        return created;
    }

    public void setCreated(Date created) {
        this.created = created;
    }

    public TerapiaDiscapacidad() {
        created = new Date();
    }
    
    

    public enum Estado {

        ACTIVO("Act"),
        INACTIVO("Ina"),
        SUSPENDIDO("Sus"),
        FINALIZADO("Fin");
        String descr;

        private Estado(String descr) {
            this.descr = descr;
        }

        public String getDesc() {
            return descr;
        }
    }

    public Integer getCantidad() {
        return cantidad;
    }

    public void setCantidad(Integer cantidad) {
        this.cantidad = cantidad;
    }

    public DiscapacidadTratamiento getDiscapacidadTratamiento() {
        return discapacidadTratamiento;
    }

    public void setDiscapacidadTratamiento(DiscapacidadTratamiento discapacidadTratamiento) {
        this.discapacidadTratamiento = discapacidadTratamiento;
    }

    public Estado getEstado() {
        return estado;
    }

    public void setEstado(Estado estado) {
        this.estado = estado;
    }

    public Date getFechaFin() {
        return fechaFin;
    }

    public void setFechaFin(Date fechaFin) {
        this.fechaFin = fechaFin;
    }

    public Date getFechaInicio() {
        return fechaInicio;
    }

    public void setFechaInicio(Date fechaInicio) {
        this.fechaInicio = fechaInicio;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Integer getIdTerapia() {
        return idTerapia;
    }

    public void setIdTerapia(Integer idTerapia) {
        this.idTerapia = idTerapia;
    }

    public Integer getIntensidad() {
        return intensidad;
    }

    public void setIntensidad(Integer intensidad) {
        this.intensidad = intensidad;
    }

    public Integer getIntensidadMedidaTiempo() {
        return intensidadMedidaTiempo;
    }

    public void setIntensidadMedidaTiempo(Integer intensidadMedidaTiempo) {
        this.intensidadMedidaTiempo = intensidadMedidaTiempo;
    }

    public String getObservacion() {
        return observacion;
    }

    public void setObservacion(String observacion) {
        this.observacion = observacion;
    }

    public String getTerapia() {
        return terapia;
    }

    public void setTerapia(String terapia) {
        this.terapia = terapia;
    }

    public String getMedidaTiempo() {
        return medidaTiempo;
    }

    public void setMedidaTiempo(String medidaTiempo) {
        this.medidaTiempo = medidaTiempo;
    }
    
    public static Estado getEstado(String string){
        Estado estado = null;
        if(string.equals(Estado.ACTIVO.getDesc())) {
            estado = Estado.ACTIVO;
        } else if(string.equals(Estado.INACTIVO.getDesc())) {
            estado = Estado.INACTIVO;
        }else if(string.equals(Estado.SUSPENDIDO.getDesc())) {
            estado = Estado.SUSPENDIDO;
        }else{ 
            estado = Estado.FINALIZADO;
        }
        return estado;
    }

    @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final TerapiaDiscapacidad other = (TerapiaDiscapacidad) obj;
        
        if(null == id || null == other.getId())
            return created.equals(other.getCreated());
        else{
            return id.equals(other.getId());
        }
//        
//        if (this.id != other.id && (this.id == null || !this.id.equals(other.id))) {
//            return false;
//        }
//        if (this.idTerapia != other.idTerapia && (this.idTerapia == null || !this.idTerapia.equals(other.idTerapia))) {
//            return false;
//        }
//        if (this.created != other.created && (this.created == null || !this.created.equals(other.created))) {
//            return false;
//        }
//        return true;
    }

    @Override
    public int hashCode() {
        int hash = 7;
        hash = 79 * hash + (this.id != null ? this.id.hashCode() : 0);
        hash = 79 * hash + (this.created != null ? this.created.hashCode() : 0);
        return hash;
    }
 
    
    
}
